package com.naiterui.ehp.bp.utils.payment.bo;

import java.io.Serializable;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 退款成功通知业务VO
 *
 * @author 王泽浩
 * @since 1.0.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@SuppressWarnings({"WeakerAccess", "unused"})
public class NotifyBusinessRefundBO implements Serializable {

    /**
     * 退款成功
     */
    public static final int REFUND_SUCCESS = 0;

    /**
     * 退款失败
     */
    public static final int REFUND_FAIL = 1;
    private static final long serialVersionUID = -1236746392179086261L;

    /**
     * <pre>
     * 字段名：用户标识
     * 变量名：userId
     * 是否必填：是
     * 类型：String(128)
     * 示例值：wxd930ea5d5a258f4f
     * 描述：用户在商户appid下的唯一标识
     * </pre>
     */
    private String userId;

    /**
     * <pre>
     * 字段名：退款金额
     * 变量名：refundFee
     * 是否必填：是
     * 类型：Int
     * 示例值：100
     * 描述：订单总金额，单位为分
     * </pre>
     */
    private Integer refundFee;

    /**
     * <pre>
     * 字段名：商户订单号
     * 变量名：orderSn
     * 是否必填：是
     * 类型：String(32)
     * 示例值：1212321211201407033568112322
     * 描述：商户系统的订单号，与请求一致。
     * </pre>
     */
    private String orderSn;

    private String refundOrderSn;

    /**
     * 订单类型
     */
    private Integer orderType;

    /**
     * 订单状态
     */
    private Integer status;

    /**
     * 订单支付状态 成功0 失败 1
     */
    private Integer refundStatus;

    /**
     * 错误信息
     */
    private String errMsg;

}
